package fiuba.algo3.gpschallenge.gui;

import javax.swing.JPanel;
import javax.swing.JLabel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JButton;
import javax.swing.border.LineBorder;

import fiuba.algo3.gpschallenge.Controlador.Controlador;
import fiuba.algo3.gpschallenge.modelo.Juego;
import fiuba.algo3.gpschallenge.modelo.Jugador;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.BoxLayout;

import java.awt.FlowLayout;
import java.awt.SystemColor;

public class PanelInicial extends JPanel {
	private Agregable interfazAgregable;
	private Juego modelo;
	private Controlador control;
	private static final long serialVersionUID = 1L;


	public PanelInicial(Agregable interfazM, Juego modelo, Controlador control) {

		interfazAgregable = interfazM;
		setBorder(new LineBorder(new Color(0, 0, 0)));
		setBackground(SystemColor.textHighlightText);
		setForeground(Color.WHITE);
		setLayout(new FlowLayout(FlowLayout.CENTER, 500, 50));
		
		JLabel etiquetaBienvenido = new JLabel("Bienvenido");
		etiquetaBienvenido.setFont(new Font("Times New Roman", Font.BOLD, 45));
		add(etiquetaBienvenido);
		
		JButton botonSoyNuevo = new JButton("Soy Nuevo");
		botonSoyNuevo.setForeground(SystemColor.window);
		botonSoyNuevo.addActionListener(new botonSoyNuevoListener());
		botonSoyNuevo.setFont(new Font("Times New Roman", Font.BOLD, 31));
		botonSoyNuevo.setBackground(SystemColor.activeCaption);
		add(botonSoyNuevo);
		
		JButton botonYaTengoUsuario = new JButton("Ya Tengo Usuario");
		botonYaTengoUsuario.setForeground(SystemColor.window);
		botonYaTengoUsuario.addActionListener(new botonYaTengoUsuarioListener());
		botonYaTengoUsuario.setFont(new Font("Times New Roman", Font.BOLD, 31));
		botonYaTengoUsuario.setBackground(SystemColor.activeCaption);
		add(botonYaTengoUsuario);
		this.modelo = modelo;
		this.control = control;

	}
	
	class botonSoyNuevoListener implements ActionListener {
		@Override
		public void actionPerformed (ActionEvent e){
			cargarPanelSoyNuevo();
		}
	}
	//comentado por que el panel elegirusuario no funciona
	class botonYaTengoUsuarioListener implements ActionListener {
		@Override
		public void actionPerformed (ActionEvent e){
			cargarPanelElegirUsuario();
		}
	}

	private void cargarPanelSoyNuevo() {
		PanelCrearJugador panelSoyNuevo = new PanelCrearJugador(this.interfazAgregable, modelo, control);
		interfazAgregable.limpiarVentana();

		interfazAgregable.agregarComponente(panelSoyNuevo, BorderLayout.CENTER); 
		//actualiza al nuevo panel
		
	}

	private void cargarPanelElegirUsuario() {
		PanelElegirUsuario panelElegirUsuario= new PanelElegirUsuario(this.interfazAgregable, modelo,control);
		interfazAgregable.limpiarVentana();
		interfazAgregable.agregarComponente(panelElegirUsuario, BorderLayout.CENTER);
		
	}
}
